package cn.fl.infside.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.infside.vo.InfPostCollectMasterVO;
import fl.inf.facade.dto.InfPostCollectMasterDTO;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description: 邮储代扣主表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class InfPostCollectMasterVOTransform {


	/**
	 * DTO 转  VO
	 * @param dto InfPostCollectMasterDTO
	 * @return InfPostCollectMasterVO
	 */
	public static InfPostCollectMasterVO toVO(InfPostCollectMasterDTO dto) {
		InfPostCollectMasterVO  vo = null;
		if (dto != null) { 
			vo = new InfPostCollectMasterVO();
			vo.setId(dto.getId());
			vo.setTotalQt(dto.getTotalQt());//交易总笔数  
			vo.setTotalAt(dto.getTotalAt());//交易总金额
			vo.setSuccessQt(dto.getSuccessQt());//成功笔数
			vo.setSuccessAt(dto.getSuccessAt());//成功金额
			vo.setFailureQt(dto.getFailureQt());//失败笔数
			vo.setFailureAt(dto.getFailureAt());//失败金额
			vo.setParseQt(dto.getParseQt());//解析成功笔数
			vo.setSendFileName(dto.getSendFileName());//发送文件名称
			vo.setSendFilePath(dto.getSendFilePath());//发送文件路径
			vo.setReturnFileName(dto.getReturnFileName());//回盘文件名称
			vo.setReturnFilePath(dto.getReturnFilePath());//回盘文件路径
			vo.setCollectCode(dto.getCollectCode());//委托单位代码
			vo.setBusinessCode(dto.getBusinessCode());//业务代码
			vo.setBatchCode(dto.getBatchCode());//批次号-邮储回盘发送过来
			vo.setPayBatchCode(dto.getPayBatchCode());//付款批次号-业务系统定义 
			vo.setBeginDate(dto.getBeginDate());//代扣开始日期
			vo.setEndDate(dto.getEndDate());//代扣结束日期
			vo.setType(dto.getType());//代扣类型 0-租金 1-验证 
			vo.setOpFlag(dto.getOpFlag());//操作标识 1-新数据  0-老数据
			vo.setStatus(dto.getStatus());//响应状态：待发送、待回传、完成、解析错误
			vo.setMessage(dto.getMessage());//响应信息

			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param vo InfPostCollectMasterVO
	 * @return InfPostCollectMasterDTO
	 */
	public static InfPostCollectMasterDTO toDTO(InfPostCollectMasterVO vo) {
		InfPostCollectMasterDTO dto = null;
		if (vo != null) {
			dto = new InfPostCollectMasterDTO();
			dto.setId(vo.getId());
			dto.setTotalQt(vo.getTotalQt());//交易总笔数  
			dto.setTotalAt(vo.getTotalAt());//交易总金额
			dto.setSuccessQt(vo.getSuccessQt());//成功笔数
			dto.setSuccessAt(vo.getSuccessAt());//成功金额
			dto.setFailureQt(vo.getFailureQt());//失败笔数
			dto.setFailureAt(vo.getFailureAt());//失败金额
			dto.setParseQt(vo.getParseQt());//解析成功笔数
			dto.setSendFileName(vo.getSendFileName());//发送文件名称
			dto.setSendFilePath(vo.getSendFilePath());//发送文件路径
			dto.setReturnFileName(vo.getReturnFileName());//回盘文件名称
			dto.setReturnFilePath(vo.getReturnFilePath());//回盘文件路径
			dto.setCollectCode(vo.getCollectCode());//委托单位代码
			dto.setBusinessCode(vo.getBusinessCode());//业务代码
			dto.setBatchCode(vo.getBatchCode());//批次号-邮储回盘发送过来
			dto.setPayBatchCode(vo.getPayBatchCode());//付款批次号-业务系统定义 
			dto.setBeginDate(vo.getBeginDate());//代扣开始日期
			dto.setEndDate(vo.getEndDate());//代扣结束日期
			dto.setType(vo.getType());//代扣类型 0-租金 1-验证 
			dto.setOpFlag(vo.getOpFlag());//操作标识 1-新数据  0-老数据
			dto.setStatus(vo.getStatus());//响应状态：待发送、待回传、完成、解析错误
			dto.setMessage(vo.getMessage());//响应信息

			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param list List<InfPostCollectMasterDTO>
	 * @return List<InfPostCollectMasterVO>
	 */
	public static List<InfPostCollectMasterVO> toVOList(List<InfPostCollectMasterDTO> list) {
		List<InfPostCollectMasterVO>  voList = new ArrayList<InfPostCollectMasterVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (InfPostCollectMasterDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<InfPostCollectMasterVO>
	 * @return List<InfPostCollectMasterDTO>
	 */
	public static List<InfPostCollectMasterDTO> toDTOList(List<InfPostCollectMasterVO> list) {
		List<InfPostCollectMasterDTO>  dtoList = new ArrayList<InfPostCollectMasterDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (InfPostCollectMasterVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
